Criando uma simples lixeira para o usuário [Melhorado]
Publicado por Sandro Marcell 19/07/2007
[ Hits: 3.791 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário.
(Versão Tcl)
Falou!!!
#!/usr/bin/tcl # # Criando uma simples lixeira para o usuário. # (Versão Tcl) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: nome_script -r arquivo1 [arquivoN] # ou -e [Para esvaziar a lixeira] # # Obs.: # Arquivos e diretórios são removidos sem pedido de confirmação. # É possível o uso do metacaractere (*) # A opção -e remove a lixeira # Utilizando o script: proc Uso {argv0} { puts stderr "Uso: [file tail $argv0] -r arquivo1 \[arquivoN\] ou -e \[Para esvaziar a lixeira\]" } # Checando parâmetros: if {$argc == 0} { Uso $argv0 exit } # A lixeira: variable LIXEIRA "~/lixeira" if {![file exists $LIXEIRA]} { file mkdir $LIXEIRA } # Simples avisos: variable SUCESSO "Arquivo removido!" ERRO "-> Erro de entrada/saída. " # Capturando opção: set OPC [lvarpop argv 0] # Testando opção capturada: switch -- $OPC { -e { # Checando parâmetros: if {[llength $argv] >= 1} { puts stderr "A opção \[-e\] não aceita parâmetros." exit } else { if {[catch {file delete -force $LIXEIRA}] == 0} { puts stdout "Lixeira limpa!" exit } else { puts stderr $ERRO exit } } } -r { # Início do loop: foreach A $argv { # Testes condicionais: if {![file exists $A]} { puts stderr "-> Arquivo ou diretório não encotrado." continue } elseif {![file owned $A]} { puts stderr "-> Sem permissão para remover." continue } # Removendo: if {[catch {file copy -force $A $LIXEIRA}] == 0 &&\ [catch {file delete -force $A}] == 0} { puts stdout $SUCESSO } else { puts stderr $ERRO } } } default { Uso $argv0 exit } } # Fim
Convertendo escalas termométricas
Compactando / descompactando arquivos (Melhorado)
Simples visualizador de arquivos texto
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
redirecionando saida de comando touch para o AWK[AJUDA] (7)
ASRock H310CM-HG4 vs Linux [RESOLVIDO] (18)
Microfone do meu headset não é recinhecido. Meu notebook é um Acer Asp... (12)